package com.ruoyi.system.dto;

import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 消息推送任务创建DTO
 */
@Data
public class MsgPushTaskCreateDTO {

    /**
     * 模板ID
     */
    @NotNull(message = "模板ID不能为空")
    private Long templateId;

    /**
     * 项目ID
     */
    private Long projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 消息标题
     */
    @NotNull(message = "消息标题不能为空")
    private String title;

    /**
     * 渲染后的内容
     */
    @NotNull(message = "消息内容不能为空")
    private String contentRendered;

    /**
     * 内容变量（JSON格式）
     */
    private String contentVars;

    /**
     * 关联业务ID
     * 设计资料-设计方案ID，合同签署-合同ID，验收信息-事项ID，阶段验收-阶段ID，主材清单-物料清单ID
     */
    private String businessId;

    /**
     * 附件引用
     */
    private String attachRefs;

    /**
     * 是否需要签名
     */
    private Integer needSignature;

    /**
     * 过期时间
     */
    private LocalDateTime expireAt;

    /**
     * 定时发送时间
     */
    private LocalDateTime scheduleTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 接收者列表
     */
    @NotNull(message = "接收者列表不能为空")
    private List<MsgPushReceiverDTO> receivers;
}
